Flash memory devices are non-volatile memory devices to which data may be electrically written to or erased from. Flash memory based storage devices typically consume less power and/or are smaller than equivalent magnetic disc storage devices. As such, flash-memory based storage devices have been replacing magnetic disc storage devices in many existing and new applications.
Flash memory devices generally do not allow data to be over-written as can typically be done in magnetic disc memory devices. Consequently, to replace data stored in a flash memory device, the stored data is first erased, and then the new data is programmed into the erased memory cells. The “erase” operation may return the memory cell of the flash memory device to its initial state. Thus, flash memory devices generally have three operating modes: a program (write) mode, an erase mode, and a read mode. Herein, an erased flash memory cell or block may also be referred to as a “clean” cell or block.
The erase operation typically takes longer than the programming (i.e., writing) operation. Moreover, the erase operation is typically performed in much larger block units than are the programming or reading operations. As a result, parts of the flash memory for which an erase was not requested may be erased during a block erase operation. When this occurs, the portions of the block for which an erase operation had not been requested may need to be restored by programming the data into another block.
Frequent erase operations may result in an unnecessary increase in an “erase count” of a flash memory device. The “erase count” is a parameter which may significantly influence the life span of a flash memory device. As the erase count and a program count of a flash memory device increase, the expected life span of the device (i.e., the time for which the flash memory will operate properly) decreases.
FIG. 1 is a block diagram illustrating the memory cell region of a conventional flash memory device. As shown in FIG. 1, the memory cell region of the flash memory device may be divided into a plurality of logical areas, including a map area, a log block area, a data block area, an erasable block area and a free block area. Each area may include one or more memory blocks. Herein, the memory blocks in the log block area are referred to as “log blocks,” the memory blocks in the data block area are referred to as “data blocks,” the memory blocks in the erasable block area are referred to as “erasable blocks,” and the memory blocks in the free block area are referred to as “free blocks.”
A data block stores normal data. A log block is used to update part or all of a data block by recording the updated content in the log block. Accordingly, a log block corresponds to at least one data block and stores updated pages of the corresponding data block or blocks. Pages stored in the log block are referred to prior to corresponding pages stored in the data block. Data in a log block may be periodically merged with data in the corresponding data block(s).
FIG. 2 is a state diagram illustrating the state transitions of memory blocks of a conventional flash memory device when memory blocks are merged with each other. The conventional state transitions illustrated in FIG. 2 are disclosed in Korean Patent Publication No. 10-2002-0092487. As shown in FIG. 2, when, for example, a log block is subjected to a simple merge operation, the log block becomes an erasable block. An erasable block is a block that needs to be erased before it can be reused.
FIG. 3 is a schematic diagram illustrating log blocks after a conventional simple merge. As shown in FIG. 3, after conventional simple merge operations, the log blocks may have various amounts of data programmed therein. In particular, some log blocks may store a significant amount of data, while other log blocks may only store a small amount of data (e.g., one or two pages). After the simple merge, the log blocks are all discarded to a garbage pool (i.e., the log blocks are defined as erasable blocks). The erasable blocks may thereafter be erased, after which they become free blocks as shown in FIG. 2.